// 投票数据数组
let voteData = [];

// 获取投票数据
function fetchVotes() {
    fetch('/api/agentvotes')
        .then(res => res.json())
        .then(data => {
            voteData = data;
            renderTable();
        })
        .catch(error => {
            console.error('获取数据失败:', error);
        });
}

// 渲染表格
function renderTable() {
    const tbody = document.querySelector('#voteTable tbody');
    tbody.innerHTML = '';
    voteData.forEach((item, idx) => {
        const isTop3 = idx < 3;
        const nameTd = `<td class='${isTop3 ? "gold-text" : ""}'>${item.agentName || item.agentId}</td>`;
        const imgTd = `<td><img src="${item.imageUrl}" alt="${item.agentName || item.agentId}" style="width:48px;height:48px;border-radius:8px;"></td>`;
        const voteTd = `<td class='${isTop3 ? "gold-text" : ""}'>${item.agentVote}</td>`;
        const tr = document.createElement('tr');
        tr.innerHTML = nameTd + imgTd + voteTd;
        tbody.appendChild(tr);
    });
}

// 投票功能
function voteForAgent() {
    const name = document.getElementById('nameInput').value.trim();
    if (!name) {
        alert('请输入人物姓名');
        return;
    }
    
    fetch('/api/vote?agentName=' + encodeURIComponent(name), { 
        method: 'POST' 
    })
    .then(res => res.text())
    .then(msg => {
        if (msg === 'success') {
            alert('投票成功');
            document.getElementById('nameInput').value = '';
            fetchVotes(); // 重新获取最新数据
        } else {
            alert('该角色不存在');
        }
    })
    .catch(error => {
        console.error('投票失败:', error);
        alert('投票失败，请重试');
    });
}

// 页面加载完成后执行
document.addEventListener('DOMContentLoaded', function() {
    // 初始获取数据
    fetchVotes();
    
    // 绑定投票按钮事件
    document.getElementById('voteBtn').addEventListener('click', voteForAgent);
    
    // 定时刷新数据（每10秒）
    setInterval(fetchVotes, 10000);
}); 